solving TSM